#pragma once
#include "Character.h"

//The enemy has all the functionality of player, plus AI and some minor collision modifications
//On collide with player, the enemy deals damage by sending a message to the GAME
//Its AI is updated every Tick, or in game clock cycle
//
//The enemy follows a random wander steering method until the player comes into a certain range.
// When the player is in range it seeks the player until the player is outside the range or it dies
//
//Enemies pass through coins and the end marker without affecting them
class Enemy : public Character
{
private:
	//AI Variables
	eAIDirections	m_eDir;
	eAIStates		m_eState;
	int				m_iDecision;
	float			m_fSpeedMod;
	float			m_fDamage;
public:
	Enemy();
	Enemy(D3DXVECTOR3 Pos);
	Enemy(float x,float y, float z);
	void* Update(void* Data);
	void Init();
	bool AIUpdate(void*);
	int GetDirection(){return (int)m_eDir;}
	void TranslateMessages();
	bool Collided(DrawList* drawables,D3DXVECTOR3 NewPos);
};